The programmable resources of programmable logic devices (PLDs) are being combined with both general purpose and dedicated purpose hardware to make complex system-on-chips (SOCs). PLDs are a well-known type of programmable integrated circuit (IC) that can be programmed to perform specified logic functions. One type of PLD, the field programmable gate array (FPGA), typically includes an array of programmable tiles. These programmable tiles comprise various types of logic blocks, which can include, for example, input/output blocks (IOBs), configurable logic blocks (CLBs), dedicated random access memory blocks (BRAM), multipliers, digital signal processing blocks (DSPs), general purpose processors, clock managers, delay lock loops (DLLs), bus or network interfaces such as Peripheral Component Interconnect Express (PCIe) and Ethernet and so forth.
Each programmable tile typically includes both programmable interconnect and programmable logic. The programmable interconnect typically includes a large number of interconnect lines of varying lengths interconnected by programmable interconnect points (PIPs). The programmable logic implements the logic of a user design using programmable elements that can include, for example, function generators, registers, arithmetic logic, and so forth.
Some FPGA-based SOCs are general-purpose devices. An example of a general purpose SOC is the Zynq SOC from XILINX, Inc. These SOCs are not designed for any particular application and may be deployed in a wide variety of different applications. In contrast, other SOCs are designed for particular applications. With a particular application in mind, a designer knows exactly what functionality and performance they are targeting during the design process and can evaluate and compare competing application-targeted SOCs accordingly.
A part of the design process is for the application designer to select a particular SOC on which the system is to be deployed. There may be a number of competing SOCs, each having particular advantages and disadvantages. The suppliers of such SOCs can provide datasheets that show estimated performance levels for various system metrics. For application-targeted SOCs, there may be a limited number of configuration parameters or options that affect the performance levels since the SOCs are targeted to a particular application domain. This allows the providers of application-targeted SOCs to readily provide information useful to the designer. However, for general purpose SOCs, there may be a multitude of configuration parameters and hardware options since each application domain may call for a different configuration. Also, there may be several valid configurations for one application which may or may not differ in performance. In this instance, it is highly impractical to produce system-level performance specifications for all deployment scenarios of such general purpose SOCs. Since there is effectively an n-dimensional measurement space, it is impractical to provide a comprehensive datasheet that would give potential customers insights into the performance of the SOC for every possible configuration.